package com.jyxd.web.dao.patient;

import com.jyxd.web.data.patient.PatientControl;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * 质控相关指标
 */
@Repository
public interface PatientControlDao {

    /**
     * 新增一条病人质控指标表记录
     *
     * @param patientControl
     * @return boolean
     */
    boolean insert(PatientControl patientControl);

    /**
     * 根据患者id查询一条病人质控指标表记录
     *
     * @param patientId
     * @return patientId
     */
    PatientControl queryData(String patientId);

    /**
     * 更新一条病人质控指标表记录
     *
     * @param patientControl
     * @return boolean
     */
    boolean update(PatientControl patientControl);

    /**
     * 根据查询质控指标表记录列表
     *
     * @param map
     * @return list
     */
    List<PatientControl> queryList(Map<String, Object> map);


    /**
     * 查询3h的质控指标数据
     */
    int get3hBundleRecordNum(Map<String, Object> paramMap);
    /**
     * 查询6h的质控指标数据
     */
    int get6hBundleRecordNum(Map<String, Object> paramMap);

    /**
     * 查询dvt的质控指标数据
     */
    int getDvtRecordNum(Map<String, Object> paramMap);
    /**
     * 查询vap的质控指标数据
     */
    int getVapRecordNum(Map<String, Object> paramMap);
    /**
     * 查询送检率的质控指标数据(分子)
     */
    int getBacillosisNum(Map<String, Object> paramMap);
    /**
     * 查询送检率的质控指标数据(分母)
     */
    int getInspectionRateDenominator(Map<String, Object> paramMap);

    int getCrbsiMoleculeNum(Map<String, Object> paramMap);

    int getCautiMoleculeNum(Map<String, Object> paramMap);

    int getBundleRecordDenominatorNum(Map<String, Object> paramMap);
}
